home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / pctj0987.arc / COMPLEX.C next >
Text File  |  1987-07-02  |  2KB  |  80 lines

  1. /*
  2.  * COMPLEX -- PC Tech Journal Laser Printer Page Complexity Test
  3.  *
  4.  * Version 1.0
  5.  *
  6.  * Copyright (c) 1987, Ziff Communications Company
  7.  * Program by: Rainer McCown
  8.  
  9.  * This routine tests the level of complexity which the printer can
  10.  * handle.  It draws a large number of vertical rules on the page.
  11.  * The rules start at various vertical offsets gradually increasing 
  12.  * the complexity to beyond the limit of the HP printer.
  13.  */
  14.  
  15. #include "io.h"
  16. #include "string.h"
  17. #include "fcntl.h"
  18.  
  19. #define STD_OUT 1
  20.  
  21. extern void sndl(char [], int),
  22.         snd (char []),
  23.         setbinary(int);
  24.  
  25. /****************************** MAIN *******************************/
  26.  
  27. void main()
  28.  
  29. {
  30.  int cnt;
  31.  char *txt, *p1, *p2;
  32.  
  33.  /* Change STD_OUT to binary mode to avoid
  34.     converting LFs to CR,LF and to avoid
  35.     stopping on EOFs  */
  36.  
  37.  setbinary(STD_OUT);
  38.  
  39.  /* Initialize the printer */
  40.  
  41.  snd("\x1BE");                  /* Reset the printer   */
  42.  snd("\x1B&l0O");               /* Portrait mode       */
  43.  
  44.  /* Position the cursor and draw a vertical rule */
  45.  
  46.  txt = "\x1B*p???0x!!!0Y\x1B*c1a1900b0P";
  47.  p1 = strchr(txt, '?');         /* Point to 1st fill location */
  48.  p2 = strchr(txt, '!');         /* Point to 2nd fill location */
  49.  
  50.  for (cnt = 1; cnt <= 109; cnt++)
  51.      {
  52.       /* Format the first fill location with leading zeros */
  53.       sprintf(p1, "%03u", cnt);
  54.       p1[3] = '0';          /* Overwrite SPRINTF terminating zero */
  55.  
  56.       sprintf(p2, "%03u", cnt);
  57.       p2[3] = '0';          /* Overwrite SPRINTF terminating zero */
  58.  
  59.       snd(txt);         /* Send to the printer */
  60.      }
  61.  
  62.  for (cnt = 111; cnt <= 219; cnt++)
  63.      {
  64.       /* Format the first fill location with leading zeros */
  65.       sprintf(p1, "%03u", cnt);
  66.       p1[3] = '0';          /* Overwrite SPRINTF terminating zero */
  67.  
  68.       sprintf(p2, "%03u", cnt - 110);
  69.       p2[3] = '0';          /* Overwrite SPRINTF terminating zero */
  70.  
  71.       snd(txt);         /* Send to the printer */
  72.      }
  73.  
  74. /* Eject page */
  75.  
  76.  snd("\f");
  77.  
  78. } /* End MAIN */
  79.  
  80.